package io;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * @author liyang
 * @version 1.0
 * @package io
 * @file FlushDemo.java
 * @description
 * @time 2024-03-22 23:48
 */
public class FlushDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("flush.txt");
        BufferedOutputStream bos = new BufferedOutputStream(fos);

        String line = "让我再看你一眼，从南到北。";
        byte[] data = line.getBytes(StandardCharsets.UTF_8);

        bos.write(data);
        /*
            忘关流会导致空（不够8kb），需要flush
            flush:冲水
            强制将缓冲输出流的缓冲区中已经缓存的数据一次性写出
         */
//        bos.flush();
        System.out.println("写出完毕");
        /*
        .close里也有flush,但存在实际场景需要中间就flush一下
         */
        bos.close();
    }
}
